WinXs Version 2.1a Copyright (C) 1997 Mick Meaden Software Online Limited All Rights Reserved This file contains a summary of new features in each release of WinXs since version 1.0: VERSION 2.1a Maintenance release that fixes a number of minor bugs in version 2.1. The following new facilities are also included: - WinXs Shell (32-bit version). Added a history mechan- ism to the Change Directory dialog. Added a user cus- tomisable AddOns menu, included a tool to add, remove and edit menu items. Fixed the header control in the long listing view so that header items act as buttons for sorting the contents of the output display. - Pax. Added a new capability to the Write Archive dia- log whereby files can be archived whose modification times are more recent than a named sentinel file. This is equivalent to the -newer primary of the find(1) com- mand and is useful for maintaining the files of 2 or more computers in a consistent state. - Command-line tools. Added od(1), tee(1) and whence(1). See "man od", "man tee" and "man whence" respectively for details. - Compress(32-bit version). Updated both the Windows and DOS versions of compress so that compress(1) adds a .Z extension to a compressed file and uncompress(1) removes it. This is done for compatibility with UNIX versions of compress(1). - General Utilities. Fixed the output display so that text lines are displayed correctly when processing text files in either DOS or UNIX format. This is useful when running the tools on files located on remote UNIX systems. VERSION 2.1 - Added a command-line text file viewer, pg(1), which can be used to view text files directly, or it can be used to view the output of a command pipeline. See "man pg" for details. - Added the touch(1) utility. This can be used to set or modify the modification time of one or more files between the dates Jan 1, 1980 through Jan 1, 2036. Use this tool to set file times beyond the year 2000 and then check if your file management apps still work correctly. See "man touch" for details. - Added the command line utilities cp(1), mv(1) and rm(1). These implement the full UNIX specification, including the -R option, which allows entire directory hierarchies to be copied, moved or removed respec- tively. See "man cp", "man mv" and "man rm" for details. - Pax. Enhancements: extended write dialog to include -mtime and -size primaries for incremental archiving; status information displayed on the main window status bar rather than in a separate dialog box; write dialog displayed automatically when a new archive is created; context help button added to all dialog boxes. Bug fixes: archiving from the root directory of a drive now works correctly; zero length archive files are deleted if write fails. - General Utilities. Enhancements: added "Find" and "Find Next" to the Edit menu to provide text searching capabilities in the output window; file settings are saved between successive calls to the applets (though not between successive invocations of the genuts.exe program). - WinXs shell. Enhancements: when iconised, accepts folders or files dragged from Explorer (see "readme.txt" file for details); directory names can be typed directly in the Change Directory dialog (i.e., as an alternative to using the mouse to click your way through the drive/directory hierarchy); the keyboard can be used to change the current dirctory by selecting a directory entry in the output window using the arrow keys and then pressing Enter; dialogs (e.g., Copy) that accept file name lists now also accept path name lists (e.g., "/folder/*.txt"), which avoids having to change to the correct folder before using these commands. - Grep. Enhancement: the contents of the pattern list are remembered between successive calls of the utility. This only applies within a single invocation of genuts.exe (i.e., not between two or more separate invocations). - Ls. Enhancement: added -L option to display long file names exactly as they appear in filestore (32-bit ver- sion only). Bug fix: handles file names longer than 80 characters correctly (previously caused a program error to be generated). - Hd. Enhancement: added a Save As option to the File menu, which saves the hexadecimal dump as a text file (though be aware that these files can be very large). - More. Enhancement (32-bit version only): updated to accept multiple input files when called from the WinXs shell or Explorer to display files (does not apply to printing). Bug fixes (all versions): displaying active files (e.g., logs) works correctly without the possi- bility of a program error; when invoking an editor on the current file, (a) More checks if it is a 16-bit or 32-bit editor and passes the appropriate short or long name, and (b) long file names containing space charac- ters are quoted and passed correctly. - Setup. Removed the "File context menus" option from the 32-bit version, which could cause problems with Office 97 or MS Developer Product registry associatons. Better mechanisms are provided in this version by (a) allowing file selections to be dragged onto the WinXs desktop icon, and (b) supporting file selections via the Sendto mechanism (see "readme.txt" for details). - Wc. Bug fix: correctly counts the number of newline characters in lines longer than 512 bytes (previously regarded each 512 byte fragment as a line). VERSION 2.0 - Maintenance release to include Association of Shareware Professionals (ASP) files and logo in the distribution. Also includes a number of minor bug fixes in the 32-bit version of SETUP.EXE and the WinXs Shell. - Added the man(1) command line tool. Provides online command reference pages and a keyword search facility on command descriptions. VERSION 1.7 - WinXs Shell (32-bit version). Added a toolbar and a status bar to improve the user interface to this tool. Also fixed the output display so that times are adjusted correctly according to local timezone informa- tion. Previous versions displayed file modification times in terms of Universal Co-ordinated Time. - Added the find(1) command line tool. Provides an implementation of the UNIX find(1) utility, modified to operate in a DOS/Windows environment. Specifically, the UNIX -nouser, -nogroup, -xdev, -links, -user, -group, -atime and -ctime primaries are not supported. - Added the ls(1) command line tool. Provides an imple- mentation of the UNIX ls(1) utility, again modified to operate in a DOS/Windows environment. The UNIX -c, -i, -n, -o, -q, -s and -u options are not supported. - Added the dircmp(1) command line tool. Compares two directories using either cmp(1) or diff(1) to compare files with the same name in both directories. The WinXs "bin" directory must be added to PATH for this command to work correctly. - Added the df(1) command line tool. Reports disk free space on one or more named drives. If no files are specified, reports disk free space on the current drive. VERSION 1.6 - Added the following command line tools: cat, cmp, col, compress, csplit, diff, dos2unix, du, expand, file, fmt, fold, grep, head, nl, sed, sort, split, strings, tail, tr, uudecode, uuencode, unix2dos, wc. These can be used either in batch files or from the Command prompt. - Winxs Shell (32-bit version). Changed the interface so that multiple files can be selected in the display win- dow and passed to the WinXs tools. Note that tools defined to accept a single file name (e.g., hd, more, pax, etc.) are passed the name of the first selected file only. Also fixed a minor bug in the cal tool, whereby the output window was too narrow to display a complete calendar. - Diff (32-bit version). Changed to accept multiple file selections from the WinXs shell. Only the first two of these are treated as significant, and are used to ini- tialise the contents of the File1 and File2 fields of the main dialog. - Grep (32-bit version). Changed to accept multiple file selections from the WinXs shell, such that the Filenames field of the main dialog initially displays the file selections passed from the Shell (rather than "*.ext"). The File and Wc tools have been similarly changed. - Setup (32-bit version). Included an option to add WinXs to Document context menus in Explorer, as well as Folder context menus. To invoke this feature, run setup.exe and check the File Context Menus option. VERSION 1.5 - Csplit utility added. Splits a text file based on con- text. Sections of a named input file can be written to different output files or skipped based on an argument list, which consists of a series of regular expressions and line numbers that indicate the end of each input section. Any lines left in the input file after all arguments have been matched are written out as a single section to the last output file. - Sort utility added. Sorts and/or merges one or more text files, either numerically or lexicographically. Options allow the sort order to be reversed, dictionary sorting, case folding, blanks or non-printing charac- ters to be ignored, and duplicate lines to be omitted from the output. - Nl utility added. Adds line numbers to one or more text files. Line numbers can be left or right justifed and padded with spaces or zeros. Optionally, all lines of text can be numbered, or numbering can be limited to non-blank lines only. - Pax. Added facilities (a) to copy an archive listing, as displayed in the output window, to the Windows clip- board, and (b) to list an archive in long or short form, as selected by the Verbose item on the View menu. - Uudecode. Fixed to accept input files containing mul- tiple uuencoded files. Also, DOS name mangling added to the 16-bit version as per the Pax utility. - Added context sensitive help to all command dialog boxes and generalised Man help on the WinXs menu in File Manager. - WinXs Shell (32-bit version only). Added facilities (a) to output directory listings in either short or long format, (b) to refresh the output display automat- ically whenever a change in the contents of the current directory is detected, (c) to display a column header above long format output, and (d) to pass long filenames to 32-bit apps only; short 8.3 filenames are passed to Windows 16-bit and DOS apps. Windows equivalents of the cal(1) and df(1) commands are added to the Utilities and File menus respectively. Also fixed a bug that caused program errors to be generated when folders contained very long filenames. VERSION 1.4 - Pax utility added. This provides a Windows interface for the creation, reading and writing of cpio, ustar or tar portable archives. - Interface to gzip changed to save the original file name in a compressed file, and to restore it when uncompressing. - The WinXs shell (32-bit version only) improved in a number of ways. For example, it is now possible to limit the output display to files matching a pattern expressed using DOS wild-card characters. Also the Run Dialog is not displayed when a file is selected for execution by double-clicking the left mouse button in the output window. - Diff extended to resynchronise over a much larger number of lines (i.e., 1024 as opposed to 300 on previ- ous versions). - Bug fixed in grep.exe that limited search patterns to 40 characters. These are now limited to 32kb. VERSION 1.3 - WinXs Shell (32-bit version only). Added for integra- tion with Explorer. Activated by right-clicking on any Folder and selecting the WinXs menu item from the pop- up context menu. Also available from the context menu associated with the Start button on the Taskbar. The WinXs shell provides a UNIX-like directory display and easy access to the WinXs tools. - Grep. Extended to perform file searches based on mul- tiple input patterns, which are specified in the Grep dialog as a list of newline separated regular expres- sions. - Gzip and Gunzip. Extended to accept multiple input file specifications, within limitations imposed by the underlying DOS-based gzip program. - Limits. All utilities that do filename pattern match- ing have been extended to cater for the larger direc- tory structures possible on Windows 95. - More and Hd. Fixed a problem to do with previewing and printing files with very long pathnames. Also added tooltips to the more.exe toolbar (32-bit version only). - Dos2unix and Unix2dos. Fixed a problem to do with con- verting directories (which somethimes failed to work). VERSION 1.2 - Introduced a 32-bit version specifically for Windows 95. All other changes noted below apply to both the 16-bit and 32-bit versions of the product. - Added a POSIX.2 compatible implementation of the sed(1) stream editor. - Sed scripts. Added cat-s.sed which squeezes multiple adjacent blank lines in its input files, and diff-e.sed which generates a sed script from WinXs diff output. - Filename expansion. Tools that accept file specifica- tions possibly containing DOS wild-card characters are extended to accept a list of space-separated file specifications; double-clicking a filename in the directory listbox associated with these tools appends the selected filename to the end of the input file list rather than over-writing its existing contents. This change affects cat, col, compress, dos2unix, expand, file, fmt, fold, grep, grex, sed, strings, tail, tr, uncompress, unix2dos and wc. Note, however, that this feature is only supported in registered copies of the software. - A View item is added to the File menu of diff, grep and the General Utilities applete. This allows filenames appearing anywhere in the display window to be selected and passed to more for viewing. - Du. An option is added to display a space utilization figure after block counts, as a percentage of used file space versus allocated file space. This is useful for checking how much disk space is being wasted as a result of your disk partition layout (see Du help for more information). - Setup. New options are added to set more.exe as the default text file viewer and/or text file print program in the Windows registration database. This is espe- cially useful for integration with Explorer in Windows 95. An uninstall option is also added. - Grex. Fixed a problem in end-of-line processing, whereby the program looped if '$' was specified as the search pattern. - Gzip and Gunzip. In previous versions, the filename for the gzip executable was hard-wired into gzip.pif. This is changed to use the setting of Gzip in winfile.ini, thus correctly tracking the location of gzip.exe, which by implication can now be located any- where on the system (i.e., not necessarily in the WinXs directory).. - Numerous minor bug fixes to the documentation (typos etc.). VERSION 1.1 - Added the utilities cat(1), col(1), expand(1), fmt(1), fold(1), grex(1), head(1), tail(1) and tr(1). - File(1). An option is added to change the order in which the Windows registration database and the magic number database are scanned. - Grep(1). New options are added (a) to recursively des- cend subdirectories, and (b) to display unmatched lines rather than matched lines. - More(1). The following fixes and improvements are made in this version: (a) a bug in version 1.0 tab expansion is fixed, (b) backspace sequences are now handled correctly, and (c) text can be selected for copying or marking using the mouse. - UNIX eXchange. The dos2unix(1) and unix2dos(1) filters will now convert files in-situ. - The syntax of regular expressions is extended to accept '\t' (horizontal tab) as a single-character RE that matches the code value 0x09. Because Windows dialogs use this character to move to the next field, it was not possible on v1.0 to specify a tab character in a regular expression. - To help reduce the size of the product, a number of separate programs in v1.0 are combined into a single program in this release. It is recommended, therefore, that anyone upgrading from v1.0 should delete their v1.0 installation and re-install the product from scratch.